package com.yulinlin.admin.modules.sys.domain;

import com.yulinlin.admin.modules.sys.domain.enums.SysMenuEnums;
import com.yulinlin.common.domain.SuperEntity;

import com.yulinlin.common.domain.TreeEntity;
import com.yulinlin.data.core.anno.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.util.Date;



@Data
@ApiModel("系统菜单")
@JoinTable("sys_menu")
public class SysMenuEntity extends TreeEntity<SysMenuEntity> {





        @NotEmpty(message = "必填")
        @ApiModelProperty("名称")
        @JoinWhere
        @JoinField
        private String menuName;

        @NotEmpty(message = "必填")
        @ApiModelProperty("父编号")
        @JoinWhere
        @JoinField
        private String parentId;

        @NotEmpty(message = "必填")
        @ApiModelProperty("排序值")
        @JoinWhere
        @JoinField
        private Integer sortValue;

        @NotEmpty(message = "必填")
        @ApiModelProperty("路径")
        @JoinWhere
        @JoinField
        private String path;

        @NotEmpty(message = "必填")
        @ApiModelProperty("类型")
        @JoinWhere
        @JoinField
        private SysMenuEnums.MenuType menuType;

        @NotEmpty(message = "必填")
        @ApiModelProperty("权限编码")
        @JoinWhere
        @JoinField
        private String code;

        @NotEmpty(message = "必填")
        @ApiModelProperty("图标")
        @JoinWhere
        @JoinField
        private String icon;





        @NotEmpty(message = "必填")
        @ApiModelProperty("是否隐藏")
        @JoinWhere
        @JoinField
        private Boolean hidden;

        @NotEmpty(message = "必填")
        @ApiModelProperty("孩子数量")
        @JoinWhere
        @JoinField
        private Integer childrenSize;


}
